Skip to main content

2.0.0 Upgrade Guide

This page shows an overview of the changes between the previous version and 2.0.0​

Changes to configuration options​

The options have been grouped in separate models.

   val options = MBCaptureSessionOptions.Builder()
.debugging(true)
.payloadOptimization(true)
.cameraQuality(MBCameraOptions(previewScaleType = MBPreviewScaleType.FILL_CENTER))
.automaticCapture(true)
.framesToCollect(3)
.timeBeforeCapture(1)
.build()

val uiOptions = MBUIOptions.Builder()
.progressBar(true)
.faceStatusLabel(true)
.textLocalization(MBTextLocalizations())
.countdownTimerLabel(true)
.build()

Changes to listeners for callbacks and events​

The listeners have been divided into separate interfaces in order to facilitate more customization and expanding functionality.

interface MBCaptureSessionListener {
fun onStateChanged(stateEnum: MBCaptureState)
fun onSuccess(result: MBCaptureSessionResult?)
fun onFailure(errorEnum: MBCaptureSessionError)
}

interface MBOnValidatingListener {
fun onValidating(faceStatus: MBFaceStatus)
}

interface MBCountDownListener {
onCountdown(timeCounter: Int)
}

interface MBCaptureProgressListener {
onCaptureProgress(captureProgressCounter: Float)
}

Example implementation​

class MBCaptureSessionFragment: Fragment(R.layout.fragment_m_b_capture),
MBCaptureSessionListener,
MBOnValidatingListener,
MBCountDownListener,
MBCaptureProgressListener
{
private lateinit var mbCaptureSessionService: MBCaptureSessionService
val options = MBCaptureSessionOptions.Builder()
.debugging(true)
.payloadOptimization(true)
.cameraQuality(MBCameraOptions(previewScaleType = MBPreviewScaleType.FILL_CENTER))
.build()

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
mbCaptureSessionService = MBCaptureSessionService(
requireContext(),
this,
options,
)
mbCaptureSessionService.captureSessionListener = this
mbCaptureSessionService.captureProgressListener = this
mbCaptureSessionService.countDownListener = this
mbCaptureSessionService.faceStatusListener = this

mbCaptureSessionService.startCamera()
}

//MBCaptureSessionListener interfaces
override fun onStateChanged(stateEnum: MBCaptureState) { }

override fun onSuccess(result: MBCaptureSessionResult?) { }

override fun onFailure(errorEnum: MBCaptureSessionError) { }

//MBOnValidatingListener
override fun onValidating(faceStatus: MBFaceStatus) { }

//MBCountDownListener
override fun onCountdown(timeCounter: Int) { }

//MBCaptureProgressListener
override fun onCaptureProgress(captureProgressCounter: Float) { }
}